import request from '@/utils/request'

// ==================== 类型定义 ====================
/** 基础响应结构 */
interface BaseResponse<T> {
  code: number
  msg: string
  data: T
}

/** 键值对数据格式 */
interface NameValuePair {
  name: string
  value: number
}

/** 列表数据格式 */
interface ListData {
  jobList?: string[] // 职位名称列表
  clazzList?: string[] // 班级名称列表
  dataList: number[] // 对应数值列表
}

// ==================== API接口 ====================
/**
 * 统计各个职位员工的人数
 */
export const queryEmpJobDataApi = (): Promise<BaseResponse<ListData>> => {
  return request.get(`/report/empJobData`)
}

/**
 * 统计员工性别信息
 */
export const queryEmpGenderDataApi = (): Promise<BaseResponse<NameValuePair[]>> => {
  return request.get(`/report/empGenderData`)
}

/**
 * 统计每一个班级的人数
 */
export const queryStudentCountDataApi = (): Promise<BaseResponse<ListData>> => {
  return request.get(`/report/studentCountData`)
}

/**
 * 统计学员的学历信息
 */
export const queryStudentDegreeDataApi = (): Promise<BaseResponse<NameValuePair[]>> => {
  return request.get(`/report/studentDegreeData`)
}
